RS40B - uživatelský manuál


3.4 - Příklad 4

Zadání

Vytvořte program, který porovná šířku dvou válečků a podle toho je přemístí na dané místo. Pokud jsou válečky stejně široké, přemístí je tak, aby nedošlo k jejich vzájemné kolizi. Pro definici bodů použíjte vlastní souřadný systém a rameno bude začínat a končit v pozici "savety".

Řešení

Nejprve si vytvoříme aplikaci na MCP panelu.

1. Po spuštění se na MCP panelu zobrazí hlavní nabídka. V této nabídce vyberte položku "Aplication manager" a potvrďte volbu klávesou enter nebo šipkou doprava. 2. V nabídce "Aplication manager" vytvořte novou aplikaci stiskem tlačítka "New" (funkční klávesa F8).
3. Do kolonky "Name" zadejte jmeno aplikace a potvrďte vytvoření aplikace tlačítkem "Ok" (funkční klávesa F8). 4. Poté aplikaci můžete uložit tlačítkem "Save" (funkční klávesa F8).

Nyní si vytvoříme vlastní souřadný systém s požadovanými body a bod bezpečí "safety".

1. Rozbalte nabídku vaší aplikace, dále "Global data" a zde najeďte šipkama na položku "world" a stiskněte tlačítko "New" (funkční klávesa F8). 2. Nyní zadejte jméno vašeho souředného systému (například fFrame) a u položky "Type" změňte typ na "Frame". Nakonec potvrďte tlačítkem "Ok" (funkční klávesa F8).
3. V dlaším okně, které se zobrazí, lze zadat souřadnice souřadného systému, ty však zadávat nebudeme, protože je budeme zadávat manuálně pomocí MCP panelu. Potvrďte tedy toto okno klávesou "Ok" (funkční klácesa F8). 4. Stiskněte tlačítko pro pohyb "Frame" Pomocí tlačítek pro navigaci a pohyb nastavte rameno do požadované pozice, ve které bude počátek vašeho souřadného systému.
7. Poté opět přejeďte do "Application manageru". Najeďte na souřadný systém který jste vytvořily a stiskněte tlačítko "Teac" (funkční klávesa F2). 8. V tomto okně stiskněte u nabídky "Origin" (počátek souřadného systému) tlačítko "Here" (funkční klávesa F5) a potvrďte tlačítkem "Ok" (funkční klávesa F8).
9. Vytvořte body v souřadného systému. Najeďte na vámi vytvořený souřadný systém a stiskněte tlačítko "New" (funkční klávesa F7). 10. Zadejte název bodu a potvrďte tlačítkem "Ok". Tímto způsobem vytvoříte všechny potřebné body. A nakonec nezapomeňte aplikaci uložit tlačítkem "Save" (funkční klávesa F8).

Učení pozice bodů je stejné jako v příkladu 1.

Psaní podprogramů

I. Psaní podprogramů přes MCP
1. V nabídce "Application manager" rozbalte nabídku pro vaši aplikaci, šipkama najeďte na položku "Programs" a stiskněte tlačítko "New" (funkční klávesa F7). 2. Zadejte název podprogramu a potvrďte tlačítkem "Ok" (funkční klávesa F8).
3. V nabídce "Programs" najeďte na položku "Paramerers" a stiskněte tlačítko "New" (funkční klávesa F7). 4. Zadejte název parametru, typ parametru zvolte "point" a "Passing" zvolte "by value" (parametr předávaný hodnotou). Poté potvrďte tlačítkem "Ok" (funkční klávesa F8).
5. Stejný postup opakujte i pro druhý podprogram. 6. Nyní můžeme začít psát kód jednotlivých podprogramů a programu "Start". Najeďte na podprogram a stiskněte tlačítko "Edit" (funkční klávesa F4).
7. Napište zdrojový kód programu a aplikaci uložte tlačítkem "Save" (funkční klávesa F8).
II. Psaní podprogramů ve VAL3 Studiu

Načtení aplikace do počítače je stejné jako v prvním příkladu. Nejprve spustíte program SRS, v něm otevřete "Transfer manager" a nahrajete aplikaci do PC. Poté spusťte VAL3 Studio a otevřete vaši aplikaci.

1. V levém menu zvolte záložku "Programs"
2. Klikněte pravým tlačítkem na název vaší aplikace a zvolte "New Program".
3. Rozbalte skrytou nabídku.
4. Klikněte na ikonku "Add a new paramerer" a zadejte název parametru, typ parametru je "point" a nechte zaškrknuté "by value" (předávání parametru pomocí hodnoty).
5. Do části se zdrojovým kódem napište potřebné instrukce a postup opakujte pro všechny programy a podprogramy. Nezapomeňte aplikaci průběžně ukládat (klávesová zkratka Ctrl+S).
6. Nyní nahrejte aplikaci zpátky do MCP pomocí ikony "Upload Application" nebo opět pomocí "Transfer Manageru".

Spuštění aplikace je stejné jako v předchozích příkladech.

Zdrojový kód

Program Start
begin
  //bod savety
  movej(savety, flange, mNomSpeed)
  waitEndMove()

  ///////////////První váleček///////////////
  //volej podprogram chyt
  call chyt(pA)
  //pokud je váleček větší položí jej na bod pV
  if io:bIn2==true
    call pust(pV)
    vetsi=true
  //jinak jej položí na bod pM
  else
    call pust(pM)
    mensi=true
  endIf

  ///////////////Druhý váleček///////////////
  //volej podprogram chyt
  call chyt(pB)
  //testuje zda je váleček větší
  if io:bIn2==true

    //pokud byl předchozí váleček menší položí jej na pV
    if mensi==true
      call pust(pV)
    //pokud byl předchozí váleček taky větší položí jej na pM (dva velké)
    else
      call pust(pM)
    endIf

  //pokud je váleček menší
  else

    //pokud byl předchozí váleček větší položí jej na pM
    if vetsi==true
      call pust(pM)
    //pokud byl předchozí váleček menší položí jej na pV (dva malé)
    else
      call pust(pV)
    endIf

  endIf

  //bod savety
  movej(savety, flange, mNomSpeed)
  waitEndMove()
end
Podprogram Chyt
begin
  //přesune se nad bod
  movej(bod, flange, mNomSpeed)
  waitEndMove()

  //pokud jsou čelisti sevřené otevře je
  if io:bIn1==false
    io:bOut0=false
  endIf

  //přesune se k válečku
  movel(appro(bod,{0,0,20,0,0,0}), flange, mNomSpeed)
  waitEndMove()

  //chytí váleček
  io:bOut0=true
  delay(1)

  //posune se zpět nahoru
  movel(appro(bod,{0,0,-20,0,0,0}), flange, mNomSpeed)
  waitEndMove()
end
Podprogram Pust
begin
  //přesune se nad bod
  movej(bod, flange, mNomSpeed)
  waitEndMove()

  //pokud čelisti drží váleček
  if io:bIn1==false

    //přesune se k bodu
    movel(appro(bod,{0,0,20,0,0,0}), flange, mNomSpeed)
    waitEndMove()

    //pustí váleček
    io:bOut0=false

    //posune se zpět nahoru
    movel(appro(bod,{0,0,-20,0,0,0}), flange, mNomSpeed)
    waitEndMove()
  endIf
end

Příklad 4 je ke stažení zde